#ifndef RAY_H
#define RAY_H
#include "vec3.h"

class ray
{
private:
    vec3 orig;
    point3 dir;
public:
    ray(/* args */);
    ray(const vec3& origin, const point3& direction) : orig(origin), dir(direction) {}
    const vec3& origin() const { return orig; }
    const point3& direction() const { return dir; }
    ~ray();
    point3 at(double t) const {
        return orig + dir * t;
    }
};
ray::ray()
{

}
ray::~ray()
{
}

#endif // RAY_H